﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Microsoft.CodeAnalysis; 

namespace Admin.NET.Application.Entity;

/// <summary>
/// 租房实体类
/// </summary>
[SugarTable("base_rentout", "租房实体类")]
public class RentoutEntity : EntityBase
{
    /// <summary>
    /// 房源标题（如“朝阳区两居室出租”）。
    /// </summary>
    [SugarColumn(ColumnDescription = "房源标题", Length = 150, IsNullable = false)]
    public string Title { get; set; }
     

    /// <summary>
    /// 出租类型，例如“整租”、“合租”、“单间”。
    /// </summary>
    [SugarColumn(ColumnDescription = "出租类型", Length = 50, IsNullable = false)]
    public string RentalType { get; set; }

    /// <summary>
    /// 租金（单位：元/月）。
    /// </summary>
    [SugarColumn(ColumnDescription = "租金（元/月）", Length = 10, DecimalDigits = 2, IsNullable = false)]
    public decimal? Price { get; set; }
    /// <summary>
    /// 租金面议
    /// </summary>
    [SugarColumn(ColumnDescription = "租金面议",  IsNullable = false)]
    public bool? FacePrice { get; set; }

    /// <summary>
    /// 押金规则（如“押一付三”）。
    /// </summary>
    [SugarColumn(ColumnDescription = "押金规则", Length = 50, IsNullable = true)]
    public string DepositRule { get; set; }

    /// <summary>
    /// 是否有阳台。
    /// </summary>
    [SugarColumn(ColumnDescription = "是否有阳台")]
    public bool HasBalcony { get; set; } = false;

    /// <summary>
    /// 是否有洗衣机、冰箱等设施。
    /// </summary>
    [SugarColumn(ColumnDescription = "配套设施描述", IsNullable = true)]
    public string Facilities { get; set; }
    /// <summary>
    /// 出租面积
    /// </summary>
    [SugarColumn(ColumnDescription = "出租面积", Length =10,DecimalDigits = 2, IsNullable = true)]
    public decimal RentArea { get; set; }

    /// <summary>
    /// 房源描述或房东说明。
    /// </summary>
    [SugarColumn(ColumnDescription = "房源描述", IsNullable = true, Length = 5000 )]
    public string Description { get; set; }

    /// <summary>
    /// 发布状态，100 上架中 200 已下架
    /// </summary>
    [SugarColumn(ColumnDescription = "发布状态", Length = 50, IsNullable = false)]
    public int? Status { get; set; }   

    /// <summary>
    /// 房源图片地址列表（逗号分隔的URL字符串）。
    /// </summary>
    [SugarColumn(ColumnDescription = "图片地址列表", Length = 2000, IsNullable = true)]
    public string ImageUrls { get; set; }

    /// <summary>
    /// 坐标位置。
    /// </summary>
    [SugarColumn(ColumnDescription = "坐标位置", Length = 50, IsNullable = true)]
    public string Position { get; set; }

    /// <summary>
    /// 联系人联系电话集合
    /// </summary>
    [SugarColumn(ColumnDescription = "联系人联系电话集合", Length = 200, IsNullable = true)]
    public string PhoneNumbers { get; set; }

    /// <summary>
    /// 获取或设置所在省份。
    /// </summary>
    [SugarColumn(ColumnDescription = "省份", Length = 50, IsNullable = false)]
    public string Province { get; set; }

    /// <summary>
    /// 获取或设置所在城市。
    /// </summary>
    [SugarColumn(ColumnDescription = "城市", Length = 50, IsNullable = false)]
    public string City { get; set; }

    /// <summary>
    /// 获取或设置所在区域（如“朝阳区”、“西湖区”）。
    /// </summary>
    [SugarColumn(ColumnDescription = "区域", Length = 50, IsNullable = true)]
    public string District { get; set; }

    /// <summary>
    /// 获取或设置详细地址。
    /// </summary>
    [SugarColumn(ColumnDescription = "详细地址", Length = 200, IsNullable = false)]
    public string Address { get; set; }
    /// <summary>
    /// 浏览量
    /// </summary>
    [SugarColumn(ColumnDescription = "浏览量", IsNullable = true)]
    public int? ViewCount { get; set; }

}
